Einträge markieren/ entmarkieren

An diesem kleinen Report können Sie nachvollziehen, wie Sie in einer Liste alle Einträge markieren bzw. alle Markierungen wieder entfernen können.


Alle Einträge sind markiert

In einer Liste mit Einträgen zum Ankreuzen möchte man vielleicht dem Anwender die Möglichkeit geben, alle Einträge zu markieren, bzw. alle Markierungen wieder zu entfernen.

Das Auslesen der markierten Punkte muss dann auch noch erfolgen: Eingabe in Listen

 Das Programm

REPORT zzenno14 .

DATA:
  linex TYPE syindex,
  sel   TYPE c,
  bezei TYPE sptxt.

START-OF-SELECTION.
*** GUI-Status setzen
*** SALL = Alle Markierungen setzen
*** DALL = Alle Markierungen löschen

  SET PF-STATUS ‘LIST’.
*** Daten lesen
  SELECT sptxt FROM t002t INTO bezei WHERE spras = sy-langu.
*** …und ausgeben
    WRITE: / sel AS CHECKBOX INPUT ON,
             bezei.
  ENDSELECT.


AT USER-COMMAND.
  CASE sy-ucomm.
*** Abfrage
    WHEN ‘SALL’ OR ‘DALL’.
      DO.
        linex = sy-index.
*** Zeile lesen
        READ LINE linex FIELD VALUE sel bezei.
        IF sy-subrc > 0. EXIT. ENDIF.
        CASE sy-ucomm.
          WHEN ‘SALL’.
*** Marker setzen
            MODIFY LINE linex FIELD VALUE sel FROM ‘X’.
          WHEN ‘DALL’.
*** Marker löschen
            MODIFY LINE linex FIELD VALUE sel FROM ‘ ‘.
        ENDCASE.
      ENDDO.
  ENDCASE.

 

Enno Wulff

Leave a Comment